/**
 * 等比缩放，限制在指定w与h的矩形内的最大图片。
 */
export function imageLfit (value: string, width = 0, height = 0) {
  if (!value) {
    return value
  }
  const widthStr = width ? `,w_${width}` : ''
  const heightStr = height ? `,h_${height}` : ''
  return `${value}?x-oss-process=image/resize,m_lfit${widthStr}${heightStr}`
}

/**
 * 等比缩放，延伸出指定w与h的矩形框外的最小图片
 */
export function imageMfit (value: string, width = 0, height = 0) {
  if (!value) {
    return value
  }
  return `${value}?x-oss-process=image/resize,m_mfit,w_${width},h_${height}`
}

/**
 * 固定宽高，将延伸出指定w与h的矩形框外的最小图片进行居中裁剪。
 */
export function imageFill (value: string, width = 0, height = 0) {
  if (!value) {
    return value
  }
  return `${value}?x-oss-process=image/resize,m_fill,w_${width},h_${height}`
}

/**
 * 视频接帧
 */
export function videoFrame (value: string, t: number, w = 0, h = 0) {
  const wStr = w ? `,w_${w}` : ''
  const hStr = h ? `,h_${h}` : ''
  if (!value) {
    return value
  }
  return `${value}?x-oss-process=video/snapshot,t_${t},f_jpg${wStr}${hStr},m_fast`
}

export default {
  imageLfit,
  imageMfit,
  imageFill,
  videoFrame
}
